package com.mybatis.dao;

import com.mybatis.pojo.Dept;
import com.mybatis.pojo.Emp;
import com.mybatis.pojo.Tang;

import java.util.List;
import java.util.Map;

public interface UserMapper {
    int add(Map<String,Object> map); // 增（如果实体类字段很多，用map就很方便）
    int delete(int id); // 删
    int update(Map<String,Object> map); // 改
    List<Tang> selectAll(); // 查询所有
    Tang selectOne(int id); // 查询单个
    List<Tang> selectLike(String name); // 模糊查询
    List<Tang> selectPaging(Map<String,Object> map); // 分页查询
    int selectSum(); // 查询总条数

    List<Emp> getEmp(); // 查询所有的员工信息，以及对应的部门（多对一）
    List<Dept> getDept(int dept1); // 查询指定部门，以及该部门的员工（一对多）

    List<Tang> conditionQuery1(Map<String,Object> map); // 动态sql，多条件查询（if where）
    List<Tang> conditionQuery2(Map<String,Object> map); // 动态sql，多条件查询（choose when otherwise）
    int updateUser(Map<String,Object> map); // 动态sql，多字段修改（set）
    List<Tang> conditionQuery3(List ids); // 动态sql，多id查询（foreach）
    List<Tang> conditionQuery4(Map<String,Object> map); // 动态sql，多条件查询（trim）
    List<Tang> conditionQuery5(); // 动态sql，多条件查询（sql）
}
